1. Technical Field
The present invention relates to data processing systems in general, and in particular to bus arbitration within a data processing system. Still more particularly, the present invention relates to a method and apparatus for providing bus arbitrations in a data processing system.
2. Description of the Related Art
A multiprocessor system is a data processing system having two or more processing units that are capable of concurrent execution. By carrying out multiple processes simultaneously, a multiprocessor system can provide tremendous speed improvement over a single processor system. Within a multiprocessor system, a number of substantially identical processing units often share a system memory and various input/output devices over a common bus. The sharing of a common bus, such as a system bus, allows the resources of the processing units to be used in the most cost-effective manner. But at the same time, it is also important that data can be delivered to each processing unit over the system bus with minimum delays.
Given the fact that multiple processing units are sharing a common bus, an arbiter is required to arbitrate the order in which each processing unit can access the common bus. If the bus arbitration process is not efficiently performed by the arbiter, then many processing units will have to be in standby mode, waiting to send or to receive data from the common bus. As a result, the total bandwidth of the multiprocessor system will be reduced. The present disclosure discloses an improved method and apparatus for providing bus arbitrations in a multiprocessor system.